/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pio.action.administrador.paradas;

import DBMS.DataBaseManager;
import clases.Coordinador;
import clases.Institucion;
import clases.ParadaAlterna;
import clases.Turno;
import clases.Parada;
import clases.Institucion;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

/**
 *
 * @author tamerdark
 */
public class Modificar extends DispatchAction {

    public ActionForward update(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        ParadaAlterna c = (ParadaAlterna) form;
        DataBaseManager dbms = DataBaseManager.getInstance();
        Turno t= new Turno();
        t.setId(c.getIdTurno());
        List<Parada> lp = dbms.obtenerParadasDeTurno(t);
        request.setAttribute("paradas",lp);
        int idParadaAnterior=c.getIdInstitucion();
        int idParadaAlterna=c.getIdParada();
        int idTurno=c.getIdTurno();
        Parada paradaAnt=new Parada();
        Parada paradaAlt= new Parada();
        Turno turno = new Turno();
        paradaAnt.setId(idParadaAnterior);
        paradaAlt.setId(idParadaAlterna);
        turno.setId(idTurno);
        //Bueno aqui deberia ir el metodo q va a recibir como parametros 3 variables
        //1) idParadaAnterior que es la parada anterior a la q se le va a agregar la parada alterna
        //2) idParadaAlterna va a ser la parada alterna q se le va a agregar a las instituciones en la
        //   idParadaAnterior y idTurno.
        //3) idTurno es el turno donde se encuentran las instittuciones q se les va a agregar la parada alterna.
       
        boolean modificado=dbms.agregarParadaAlterna(paradaAnt, turno, paradaAlt);
        if (modificado) {
            c.setMensaje("Parada modificado exitosamente");
            return mapping.findForward("success");
        } else {
            c.setMensaje("Problemas al modificar la parada");
            return mapping.findForward("failure");
        }
    }
    
    public ActionForward populate(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        DataBaseManager dbms = DataBaseManager.getInstance();
        ParadaAlterna pa=(ParadaAlterna) form;
        Parada p=new Parada();
        Turno t= new Turno();
        t.setId(pa.getIdTurno());
        List<Parada> lp = dbms.obtenerParadasDeTurno(t);
        //int idParada= (Integer)request.getAttribute("parada");
        //int idTurno= (Integer) request.getAttribute("turno");
        int id=pa.getIdParada();
        request.setAttribute("paradas",lp);
        request.setAttribute("idTurno",pa.getIdTurno());
        request.setAttribute("idInstitucion",id);
        
        return mapping.findForward("success");
    }
}
